//简单工厂模式
//简单工厂
var Simple_Factory = function (name) {
    switch (name){
        case 'alert':
            return new LoginAlert()
        case 'confirm':
            return new LoginConfirm()
        case 'prompt':
            return new LoginPrompt()
    }
}
//将相似的的东西提取，不相似的针对性处理，缺点，拓展性差
//工厂模式，按照提供的参数 返回一个类
// function createStuent(name,age,date) {
//     var student = new Student()
//     student.name=name
//     student.age = age
//     student.date = date
//     return student
// }
//简单的对类封装

//安全模式类,避免忘记使用new关键字
function Demo() {
    if(!(this instanceof Demo)){
        return new Demo()
    }
}
//安全工厂模式，在返回工厂创建对象是，判断this是否属于工厂类，否则用New关键词返回
var Factory = function (type,content) {
    if(this instanceof Factory){
        var s = new this[type](content)
    }else {
        return new Factory(type,content)
    }
}
//工厂创造组件在工厂原型链上定义，可以二次修改，需求可变








































